package com.mahjong.server.component.logic.manager;

import java.util.Hashtable;
import java.util.Map;

/**
 * 缓存管理
 * @user:   Administrator
 * @author： 游刚
 * @version：1.0
 * @created：Apr 10, 2013
 */

public class CacheManager {

	/** cache的主体，一个线程安全的key-value */
    private static Map<String, Object> CacheContent = new Hashtable<String, Object>();
    /**
     * @param key
     * @param obj
     * 设置cache
     */
    public static void  setCache(String key, Object obj) {
        synchronized(CacheContent) {
            CacheContent.put(key, obj);
        }
    }

    /**
     * @param key
     * @return
     * 获取cache中的内容
     */
    public static Object getCache(String key) {
        synchronized(CacheContent) {
            return CacheContent.get(key);
        }
    }

    /**
     * @param key
     * 删除cache中的内容
     */
    public static void remove(String key) {
        synchronized(CacheContent) {
            CacheContent.remove(key);
        }
    }

    /**
     * 清空整个cache
     */
    public static void clearCache() {
        synchronized(CacheContent) {
            CacheContent.clear();
        }
    }
}
